19. ChartData子类
这篇wiki主要关注ChartData子类的具体介绍。至于此部分没有提及到的ChartData的子类,代表他们没有特性功能需要介绍。
BarData
| 方法 | 使用 |
|---|---|
| setGroupSpace(float percent) | 按照一个栏的总宽度的百分比设置不同数据集的条形组之间的空间.100%代表一个条形的宽度。默认为80% |
| isGrouped() | 如果此数据对象分组(由多个DataSet组成),则返回true,否则返回false |
| *** | |
| ### ScatterData | |
| 方法 | 使用 |
| ————- | ———— |
| getGreatestShapeSize() | 返回此数据对象包含的所有ScatterDataSets的最大形状大小。 |
| ***** | |
| ### PieData | |
| 方法 | 使用 |
| ————- | ———— |
| getDataSet() | 返回包含的PieDataSet对象。PieData不能包含多个PieDataSet对象 |
| setDataSet(PieDataSet set) | 设置PieDataSet |
| *** | |
| ### BubbleData | |
| 方法 | 使用 |
| ————- | ———— |
| setHighlightCircleWidth(float width) | 设置当数据对象包含的所有BubbleDataSet对象处于突出显示状态时的环绕该气泡的圆的宽度。单位dp |
| **** | |
| ### CombinedData | |
| 该数据对象被设计为包含所有其他数据对象的实例。使用setData(…)方法提供此对象的数据。这仅用于CombinedChart。 |
1 | public class CombinedData extends ChartData { |
20. DataSet类(通用样式)
DataSet是如LineDataSet,BarDataSet等所有数据集类的基类。
1 | public class LineDataSet extends DataSet { ... |
DataSet代表一组或者一类在图表中归结在一起的数据条目集合。设计它的目的是为了将图表中的不同组数据进行逻辑分离。(比如线形图中的特定一条线,柱形图中的特定一组柱形)
以下提到的方法在DataSet类中实现,因此可用于所有子类。
20.1 数据样式
| 方法 | 使用 |
|---|---|
| setValueTextColor(int color) | 设置 DataSet 数据对象包含的数据的值文本的颜色 |
| setValueTextColors(List colors) | 设置一个颜色列表用于显示值 |
| setValueTextSize(float size) | 设置 DataSet 数据对象包含的数据的值文本的大小(单位是dp) |
| setValueTypeface(Typeface tf) | 设置 DataSet 数据对象包含的数据的值文本的字体 |
| setValueFormatter(ValueFormatter f) | 为DataSet 数据对象包含的数据设置自定义的 ValueFormatter。更多关于ValueFormatter,请查阅此处 |
| setDrawValues(boolean enabled) | 启用/禁用 绘制所有 DataSet 数据对象包含的数据的值文本 |
以上方法同样适用于ChartData对象,只是操作结果针对的是其包含的所有的DataSet。
20.2 高亮
| 方法 | 使用 |
|---|---|
| setHighlightEnabled(boolean enabled) | 设置为true,允许通过点击高亮突出 ChartData 对象和其 DataSets |
| setDrawVerticalHighlightIndicator(boolean enabled) | 启用/禁用纵向选中高亮指示线。如果禁用,指示线将不会被绘制 |
| setDrawHorizontalHighlightIndicator(boolean enabled) | 启用/禁用横向选中高亮指示线。如果禁用,指示线将不会被绘制 |
| *** | |
| ### 20.3 Getter/Convenience | |
| 方法 | 使用 |
| ——– | ————– |
| contains(Entry entry) | 检查此数据对象是否包含指定的Entry 。 注:这个相当影响性能,性能严峻情况下,不要过度使用。 |
21. DataSet子类(特定样式)
本章wiki专注于DataSet类的子类。此处未提及的DataSet的所有其他子类代表它们没有特定的增强功能。
21.1 Line-, Bar-, Scatter-, Bubble- & CandleDataSet
| 方法 | 使用 |
|---|---|
| setHighLightColor(int color) | 设置高亮颜色。不要忘记用getResources().getColor(…) 或者 Color.rgb(…)来解析颜色(或者使用Color.BLACK这种简单的方式) |
| ***** | |
| ### 21.2 Line-, Bar-, Scatter-, Candle- & RadarDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setDrawHighlightIndicators(boolean enabled) | 启用/禁用垂直和水平高亮指示线。调用setDrawVerticalHighlightIndicator(…)和setDrawHorizontalHighlightIndicator(…)进行单独配置 |
| setHighlightLineWidth(float width) | 设置高亮线(十字准线)的宽度。单位dp |
| ** | |
| ### 21.3 Line- & RadarDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setFillColor(int color) | 设置用于填充线条表面的颜色 |
| setFillAlpha(int alpha) | 设置用于填充线条表面(0-255)的Alpha值(透明度),默认值:85,255 =完全不透明,0 =完全透明 |
| setFillDrawable(Drawable d) | 设置一个可以覆盖填充区域的Drawable。这也允许使用渐变Drawable |
| setDrawFilled(boolean filled) | 如果DataSet需要绘制填充(表面,区域),而不单单是一条线,那么将此项设置为true,禁用此功能将提升性能。请注意,此方法使用canvas.clipPath(…)方法绘制填充区域。对于API级别<18(Android 4.3)的设备,应关闭图表的硬件加速。具体查阅此处,默认为false |
| setLineWidth(float width) | 设置线条宽度(最小=0.2f,最大10f);默认1f。注意:细线==性能更好,粗线==性能更差 |
| ** | |
| 以下提到的方法仅适用于具体提到的DataSet子类。 | |
| ### 21.4 LineDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setCircleRadius(float size) | 设置的圆形值指示符的大小(半径),默认大小= 4F |
| setDrawCircles(boolean enabled) | 设置为true启用LineDataSet的圆形指示器。默认为true |
| setDrawCubic(boolean enabled) | 如果设置为true,则线条图线将以立方式而不是线性绘制。这对性能有负面影响!默认值:false |
| setCubicIntensity(float intensity) | 设置立方体线的强度(如果启用)。 Max = 1f =非常立方,Min = 0.05f =低立方效应,默认值:0.2f |
| setCircleColor(int color) | 设置圆形指示器的颜色 |
| setCircleColors(List colors) | 设置此LineDataSet外圈应具有的颜色。还有需要其他的方法来设置外圈的颜色 |
| setCircleColorHole(int color) | 设置内圈的颜色 |
| setDrawCircleHole(boolean enabled) | 设置为true.在绘制内圈,否则不绘制内圈 |
| enableDashedLine(float lineLength, float spaceLength, float phase) | 启动虚线绘制,具体像”- - - - - -“这样. “lineLength”虚线段长度, “spaceLength”虚线段之间的空隙, “phase”是偏移量,以度数为单位(通常为0) |
| **** | |
| ### 21.5 BarDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setBarSpacePercent(float percent) | 以总条宽的百分比设置条之间的间距 |
| setBarShadowColor(int color) | 设置用于绘制条形阴影的颜色。条形图的阴影部分是一个用来表示最大值的界面。使用getResources().getColor(…) 或者Color.rgb(…)来设置这个值 |
| setHighLightAlpha(int alpha) | 设置用于绘制高亮指示条的alpha值(透明度)。最小值=0(完全透明),最大值=255(完全不透明) |
| setStackLabels(String[] labels) | 设置不同值的条形堆栈的标签,如果有标签的话 |
| **** | |
| ### 21.6 ScatterDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setScatterShapeSize(float size) | 设置绘制的散点图将具有的密度像素的大小。这仅适用于非自定义形状 |
| setScatterShape(ScatterShape shape) | 设置在值所在的位置绘制的形状 |
| **** | |
| ### 21.7 CandleDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setBodySpace(float space) | 设置每个蜡烛体左侧和右侧留出的空间,默认为0.1f(10%),最大0.45f,最小0f |
| setShadowWidth(float width) | 设置蜡烛线的宽度,单位dp。默认3f |
| setShadowColor(int color) | 设置蜡烛线的颜色 |
| setDecreasingColor(int color) | 设置当打开>关闭时应该用于此DataSet的唯一的颜色 |
| setIncreasingColor(int color) | 设置当打开<=关闭时应该用于此DataSet的唯一的颜色 |
| setDecreasingPaintStyle(Paint.Style style) | 设置当打开>关闭时的Paint风格(填充或者线条) |
| setIncreasingPaintStyle(Paint.Style style) | 设置当打开<=关闭时的Paint风格(填充或者线条) |
| **** | |
| ### 21.8 BubbleDataSet | |
| 方法 | 使用 |
| ———— | —————— |
| setHighlightCircleWidth(float width) | 设置在突出显示状态下气泡周围的圆的宽度,单位dp |
21.9 PieDataSet
| 方法 | 使用 |
|---|---|
| setSliceSpace(float degrees) | 设置饼图切片之间的空隙。默认:0->没有空隙,最大20,最小0(没有空隙) |
| setSelectionShift(float shift) | 设置此DataSet的突出显示的饼图切片距离图表中心“偏移”的距离,默认为12f |

